package com.rds.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.rds.common.annotation.Excel;
import com.rds.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 表单列对象 rda_form_details
 * @author rds
 * @date 2021-05-15
 */
public class RdaFormDetails extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 表单id */
    @Excel(name = "表单id")
    private Long formid;

    /** 名称 */
    @Excel(name = "名称")
    private String name;

    /** 描述 */
    @Excel(name = "描述")
    private String description;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date modifyTime;

    /** 状态 */
    @Excel(name = "状态")
    private String status;

    /** 默认值 */
    @Excel(name = "默认值")
    private String defaultValue;

    /** 关键值 */
    @Excel(name = "关键值")
    private String prop;

    /** 标签类型 */
    @Excel(name = "标签类型")
    private String componentType;

    /** 提示 */
    @Excel(name = "提示")
    private String placeholder;

    /** 选项值 */
    @Excel(name = "选项值")
    private String optionValue;

    /** 排序 */
    @Excel(name = "排序")
    private Integer sort;

    /*页面是否显示该字段**/
    private Boolean required;
    /*页面是否并排该字段**/
    private Boolean abreast;

    /*当前列显示条件**/
    private String show;
    /*是否可编辑(可用户不同业务调用同一表条件判断)**/
    private Boolean editable;


    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setFormid(Long formid)
    {
        this.formid = formid;
    }

    public Long getFormid()
    {
        return formid;
    }
    public void setName(String name)
    {
        this.name = name;
    }

    public String getName()
    {
        return name;
    }
    public void setDescription(String description)
    {
        this.description = description;
    }

    public String getDescription()
    {
        return description;
    }
    public void setModifyTime(Date modifyTime)
    {
        this.modifyTime = modifyTime;
    }

    public Date getModifyTime()
    {
        return modifyTime;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }
    public void setDefaultValue(String defaultValue)
    {
        this.defaultValue = defaultValue;
    }

    public String getDefaultValue()
    {
        return defaultValue;
    }
    public void setProp(String prop)
    {
        this.prop = prop;
    }

    public String getProp()
    {
        return prop;
    }
    public void setComponentType(String componentType)
    {
        this.componentType = componentType;
    }

    public String getComponentType()
    {
        return componentType;
    }
    public void setPlaceholder(String placeholder)
    {
        this.placeholder = placeholder;
    }

    public String getPlaceholder()
    {
        return placeholder;
    }
    public void setOptionValue(String optionValue)
    {
        this.optionValue = optionValue;
    }

    public String getOptionValue()
    {
        return optionValue;
    }
    public void setSort(Integer sort)
    {
        this.sort = sort;
    }

    public Integer getSort()
    {
        return sort;
    }

    public Boolean getRequired() {
        return required;
    }

    public void setRequired(Boolean required) {
        this.required = required;
    }

    public Boolean getAbreast() {
        return abreast;
    }

    public void setAbreast(Boolean abreast) {
        this.abreast = abreast;
    }

    public String getShow() {
        return show;
    }

    public void setShow(String show) {
        this.show = show;
    }

    public Boolean getEditable() {
        return editable;
    }

    public void setEditable(Boolean editable) {
        this.editable = editable;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("formid", getFormid())
                .append("name", getName())
                .append("description", getDescription())
                .append("createTime", getCreateTime())
                .append("modifyTime", getModifyTime())
                .append("status", getStatus())
                .append("defaultValue", getDefaultValue())
                .append("prop", getProp())
                .append("componentType", getComponentType())
                .append("placeholder", getPlaceholder())
                .append("optionValue", getOptionValue())
                .append("sort", getSort())
                .append("required", getRequired())
                .append("abreast", getAbreast())
                .toString();
    }
}
